package com.kuang.test1;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class MyBeanFactory {

//    public static Map<String, Object> nameBeanMap = new HashMap<String, Object>();
//
//    public static Map<Class, Object> typeBeanMap = new HashMap<>();
//
//    public void init() throws Exception {
//
//        /**
//         * 1. 扫描bean
//         */
//        List<Class> classList = new ArrayList<>();
//        classList.add(TestBean1.class);
//        classList.add(TestBean2.class);
//        classList.add(TestBean3.class);
//
//        /**
//         * 2. 初始化bean
//         */
//        for (Class<?> clz : classList) {
//            Object proxy = AopUtil.getProxy(clz, () -> {
//                System.out.println("run before ...");
//            }, () -> {
//                System.out.println("run after ...");
//            });
//            String name = clz.getName();
//            int i = name.lastIndexOf(".");
//            nameBeanMap.put(name.substring(i + 1), proxy);
//            typeBeanMap.put(clz, proxy);
//        }
//    }
//
//    public Object getBean(String beanName){
//        return nameBeanMap.get(beanName);
//    }
//
//    public Object getBean(Class<?> clz){
//        return typeBeanMap.get(clz);
//    }
}
